Packet-based communications networks are known to have bursty traffic patterns. Network nodes (i.e., switches and routers) use memory buffers to store packets when traffic bursts cause packets to be received at a faster rate than they can be processed. Many traffic control techniques, such as rate shaping, rate limiting, and weighted random early drop (WRED), are used in conjunction with memory buffers to deal with bursty traffic.
On the output side of a network node, memory buffers are often used to temporarily store packets when packets are passing through the network node faster than the packets can be transmitted out onto their intended output links. One technique for controlling the flow of traffic is generally referred to as rate shaping. Rate shaping involves buffering packets as they arrive at a location and then controlling the flow of packets leaving the buffers according to a given algorithm to meet a desired rate profile. Because packets are buffered, bursts of packets can be absorbed and then dispatched in a controlled manner.
Communications links between network nodes in packet-based communications networks are often referred to as “interfaces.” An interface can be a physical entity (i.e., a port of a switch/router) or a logical entity (i.e., a channel in a packet over SONET (POS) link. Because communications networks utilize a mix of different communication protocols, typical switch/routers can be equipped to handle different interface combinations. For example, different physical interface combinations may include twelve 1 gigabit Ethernet (GbE) ports, one 10 GbE port, four Optical Carrier (OC)-48 ports, and one OC-192 port.
Typical output traffic control implementations include one queue per interface to buffer output traffic. For example, an output traffic control system that serves four different interfaces would typically have four different queues. Rate shaping can then be applied to each one of the four different queues to achieve per-interface rate shaping. While per-interface rate shaping is desirable, in advanced communications networks, each interface may support a diverse mix of traffic types. With only one queue per interface, special rate shaping limitations cannot be applied to any one particular traffic type.
In addition to the limitations on rate shaping granularity that exist in typical output control system implementations, the hardware required to support each interface combination is typically custom designed for that interface combination. Custom designing hardware for each particular interface combination is a costly and time consuming task.
In view of the above-described shortcomings in the prior art, what is needed is output traffic control systems and methods that are able to provide multiple levels of rate shaping and that are flexible enough to be easily adapted to different interface combinations.